﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Criterion;
using Didsoft.DataAccess.NHibernate;
using Didsoft.DataAccess.Contracts;
using RBDD.Embol.AccesoDatos.Entidades;
using RBDD.Embol.AccesoDatos.Contratos;

namespace RBDD.Embol.AccesoDatos.Contexto
{
    public class SessionAccesoDatos : DataAccessBase<Session>, ISessionAccesoDatos
    {
        public SessionAccesoDatos()
        {
        }


        public IList<Session> BuscarPorFiltro(string filtro)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(Session));
            criteria.Add(Expression.Like("Nombre", filtro+"%"));
            return criteria.List<Session>();
        }

        public Session BuscarPorNombre(string nombre)
        {
            string cmd = "from Session s where s.Nombre= :nombre";
            var query = Session.CreateQuery(cmd);
            query.SetAnsiString("nombre", nombre);

            return query.List<Session>().FirstOrDefault();
        }

    }
}
